The present invention relates to the field of computer graphics, and in particular to methods and apparatus for analyzing and filtering of still images, video, and other one-dimensional, two-dimensional, three-dimensional, four-dimensional, and higher-dimensional data sets to produce visual effects.
Traditional computer graphics applications, such as renderers have often focused on generating photorealistic images and animation. However, there are a wide variety of uses for non-photorealistic images and animation. Non-photorealistic computer graphics can be used to apply artistically expressive styles to two-dimensional images and three-dimensional graphics data. For example, non-photorealistic computer graphics techniques can be used to simulate the look of traditional artistic media, such as pen and ink drawings, oil paints, watercolors, or hand-drawn cel animation. Similarly, non-photorealistic computer graphics techniques may be used to mimic a particular artistic style, such as impressionism or pointillism. Additionally, non-photorealistic computer graphics techniques can be used to highlight areas of interest or improve the legibility
Many prior non-photorealistic computer graphics techniques are computationally expensive and time consuming to apply. Additionally, prior non-photorealistic computer graphics techniques can produce visual artifacts, such as halos, that may need to be corrected by hand or additional processing. Furthermore, typical prior non-photorealistic computer graphics techniques are not time coherent. This means that stylistic elements, such as brush strokes or cross-hatching lines, may change abruptly and discontinuously between successive frames of video or animation. This lack of time-coherence can be visually jarring and makes the underlying animation of objects appear disconnected from the simulated artistic medium.